home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GeoThek Spezial (19xx)(-)(de)[gt519b].d64 / gp kAP 8.31-61.usr (.txt) < prev   
GEOS ConVerT  |  2019-04-13  |  45KB  |  804 lines

  1. GP Kap: 8.31-61
  2. PRG formatted GEOS file V1.0
  3. Write Image V2.1
  4. geoWrite    V2.1
  5. @Deposit a-Modus
  6. (deposit = }bergeben)
  7. Wenn sie beim Asterik Bereitschaftszeichen SPACE dr}cken, wird das Disassemblier-Feld gel|scht und der Cursor wird im Feld platziert. Jetzt k|nnen sie eine neue 6502 Anweisung eingeben. In der Befehlszeile l|scht DEL die Zeichen links vom Cursor und -- l|scht die Eingabezeile.
  8. Benutzen sie eine der folgenden Tastatureingaben um eine Zeile einzuf}gen und den deposit-Modus zu verlassen, 
  9.     aktuelle Zeile eingeben und die aktuelle Anweisung nochmals |ffnen.     (N}tzlich um komplexe Ausdr}cke zu }berpr}fen oder um Symbole
  10.     und dann eine Anweisung einzugeben.)
  11.     aktuelle Zeile eingeben und n{chste Anweisung |ffnen.
  12. @SHIFT + l l
  13.     aktuelle Zeile eingeben und vorangehende Anweisung |ffnen.
  14. @RETURN
  15. aktuelle Zeile eingeben und zum Bereitschaftszeichen zur}ckkehren.
  16. Wird in der Eingabezeile ein Fehler festgestellt, so wird die Zeile nicht }bernommen und der Cursor blinkt als 
  17. @a ?.
  18. Um den 'deposit-mode' zu verlassen, haben sie eine der folgenden M|glichkeiten:
  19. 1.     Geben sie eine leere oder eine Zeile die nur Spaces enh{lt ein.
  20. 2.     Verlassen sie mit DEL, das 'disassembly/deposit' Feld.
  21. @a-Modus Deposit Syntax
  22. Die a-Modus 'deposit' Eingabe mu~ eine g}ltige 6502 Opcode/Operanden Konstruktion sein, wie im geoAssembler. Da der Mini-Debugger nur hexadezimale Ausdr}cke oder Zahlensysteme verarbeitet, m}ssen alle Zahlen im Operanden diese Einshr{nkung beachten. Ebenfalls k|nnen keine Zeichen unterhalb der linken Ecke des Bildschirms eingegeben werden. Versuchen sie dies, erscheint der Cursor als blinkenedes 
  23. Beispiele f}r 'deposit' Eingaben:
  24. @lda #$FE     
  25. Opcode und hexadezimaler absoluter Wert.
  26. @sei    
  27. nur Opcode.
  28. @jsr 33EF    
  29. Opcode und hexadezimaler konstante Adresse.
  30. Befehl:    
  31. Mini:    siehe 
  32. Kapitel 9.
  33. Zweck:    Speicher in Form von Daten zeigen.
  34. Anwendung:    
  35. Paddrexp
  36. Hinweis:    
  37. Paddrexp
  38.  ist die Adresse ab der angezeigt werden soll. Werden keine Parameter festgelegt wird ab der
  39.     Adresse angezeigt auf die der Standortz{hler momentan zeigt.    
  40. ist der allgemeine Befehl um Daten anzusehen und zu modifizieren. Wenn sie eine Speicherstelle mit 
  41. |ffnen, werden sie in einen wechselwirkenden Modus versetzt, in dem alle Tastatureingaben auf spezielle Art und Weise interpretiert werden. Im 
  42. Modus k|nnen sie die Datenanzeige vorw{rts und r}ckw{rts scrollen und jederzeit modifizieren.
  43. Die Ausgabe mit dem 
  44. Befehl im folgenden allgemeinen Format:
  45. address    label plus offset    flag    mode
  46. 046B    53        .byte $53
  47. 046C    61        .byte $61
  48. 046D    6D        .byte $6D
  49. 046E    AboutTex+$03        .byte $70
  50. 046F    AboutTex+$04        .byte $6C
  51. 0470    AboutTex+$05    *    .byte $65
  52. Phex address
  53.  ist die absolute Adresse der Daten.
  54. Plabel plus offset
  55.  ist entweder ein Label mit einem positiven Ein-Byte Offset (
  56. FF) oder die absolute Adresse, wenn kein r}ckw{rtsweisendes Label im Bereich bis 
  57. FF vorhanden ist. Wenn sie Labels  mit dem 
  58.  Befehl (option 2) des- aktivieren oder sie wechseln die Anzeige mit der C-open-mode Taste, enth{lt dieses Feld dann die hexadezimalen Bytes die die Anweisung beinhaltet, wie im folgenden Beispiel:
  59. 0470    65                .byte $65
  60. 046D    6D 70    .word $706D
  61. Diese M|glichkeit ist besonders dann n}tzlich, wenn sie die Daten in verschiedenen Zahlensystemen anzeigen lassen wollen - sie haben immer noch die M|glichkeit auf die hexadezimale Anzeige umzuschalten.
  62. Pflag
  63.  ist ein Feld mit 3 Positionen, jedes hat sein eigenes Symbol:
  64. b    Breakpoint setzen, bei dieser Anweisung
  65. >    der Programmz{hler zeigt auf diese Anweisung
  66. *    aktuelle ge|ffnete Anweisung
  67. Pmode
  68.  ist der Datenanzeige Modus, entweder .
  69. @byte
  70.  oder .
  71. @word
  72. . Daten im Wordformat werden in Lo/Hi angezeigt,  wie im folgenden Beispiel:
  73. 046D    AboutTex+$02    .word $706D
  74. Pdata
  75.  sind die Daten der aktuellen Adresse. Die Daten werden nicht in Symbolersatz umgewandelt bis diese Funktion mit der 
  76. @s Taste 
  77. aufgerufen wird (siehe unten).
  78. @Open m-Modus Tastatureingaben
  79. Wenn Daten mit dem 
  80. Befehl ge|ffnet werden, werden die Tastatureingaben vom Super-Debugger in dieser Ebene ausgewertet und bearbeitet. Im Fall einer falschen Tastatureingabe erscheint der Cursor als blinkendes 
  81. Symbol. Wenn der Cursor auf dem Asterik im 
  82. Pflag
  83. -Feld steht, sind folgende Tastatureingaben erlaubt:
  84. @space
  85.     'deposit mode' eingeben, an dieser Stelle ('deposit mode' siehe 8-31)
  86. @ll oder J
  87.     aktuelle Anweisung schlie~en und n{chste Anweisung |ffnen.
  88. @SHIFT + ll oder K
  89.     aktuelle Anweisung schlie~en und vorangehende Anweisung |ffnen
  90. .    aktuelle Anweisung nochmals |ffnen
  91. @RETURN
  92.     aktuelle Anweisung schlie~en und zum Bereitschaftszeichen zur}ckkehren.
  93. zeigt Data als Byte
  94. zeigt Data als Word
  95. schaltet vom 
  96. -Modus in den 
  97. -Modus.  Siehe 
  98.  Befehl.
  99. Data dezimal anzeigen
  100. Data hexadezimal anzeigen
  101. Data okatal anzeigen
  102. Data bin{r anzeigen. Hinweis: Wordwerte werden hexadezimal angezeigt, da Lo/Hi bin{re Words
  103.     selten n}tzlich sind.
  104. Data als Zeichen anzeigen
  105. Data in Symbolform anzeigen
  106. Labelstatus wechselen zwischen aktiv und nichtaktiv (siehe option 2 bei 
  107. setze einen Breakpoint an dieser Adresse. (nicht besonders n}tzlich wenn man Data einsieht)
  108. Programmz{hler auf diese Adresse setzen. (nicht besonders n}tzlich wenn man Data einsieht)
  109. @L ll
  110.     |ffne an der Adresse des n{chsten Label    
  111. @L SHIFT + ll    
  112. |ffne an der Adresse des vorangehenden Label
  113.     momentan angezeigtes Label l|schen, auch wenn es als Offset angezeigt wird. Wenn daselbe Label
  114.     in mehreren Modulen existiert, wird das Label nur in dem Modul mit der h|chsten Priorit{t
  115.     gel|scht.
  116. @Deposit m-Modus
  117. (deposit = ablagern, deponieren)
  118. Wenn sie beim Asterik Bereitschaftszeichen SPACE dr}cken, wird das DisassemblierFeld gel|scht und der Cursor wird im Feld plaziert. Jetzt k|nnen sie neue Daten eingeben. In der Befehlszeile l|scht DEL die Zeichen links vom Cursor und -- l|scht die Eingabezeile.
  119. Benutzen sie eine der folgenden Tastatureingaben um eine Zeile einzuf}gen und den deposit-Modus zu verlassen, 
  120. ==    aktuelle Zeile eingeben und die aktuelle Anweisung nochmals |ffnen. (N}tzlich um komplexe
  121.     Ausdr}cke zu }berpr}fen oder um Symbole und dann eine Anweisung einzugeben.)
  122.     aktuelle Zeile eingeben und n{chste Anweisung |ffnen.
  123. @SHIFT + l l
  124.     aktuelle Zeile eingeben und vorangehende Anweisung |ffnen.
  125. @RETURN
  126. aktuelle Zeile eingeben und zum Bereitschaftszeichen zur}ckkehren. Wird in der Eingabezeile ein
  127.     Fehler festgestellt, so wird die Zeile nicht }bernommen und der Cursor blinkt als 
  128. Um den 'deposit-mode' zu verlassen, haben sie eine der folgenden M|glichkeiten:
  129. Geben sie eine leere Zeile ein oder eine Zeile die nur Spaces enh{lt.
  130. 2.     Benutzen sie DEL, um das 'disassembly/deposit' Feld zu verlassen.
  131. @m-Modus Deposit Syntax
  132. Im m-Modus werden .byte und .word etwas anders abgelegt:
  133. .byte 
  134. Pstring
  135. Sie k|nnen nicht mehr als 40 zusammenh{ngende Bytes (40 Zeichen oder 40 Werte) auf einmal eingeben. Ausdr}cke m}ssen zu einem Ein-Byte-Wert ausgewertet werden (
  136. FF). Im Zweifelsfall benutzen sie den l 'grab-byte operator' (grab = schnappen).
  137. .word exp (,exp)
  138. Sie nicht mehr als 40 Words auf einmal ablegen.
  139. Die komplette Eingabeablage kann bis zu 100 Zeichen lang sein. Wenn sie mehr als 100 Zeichen eingeben, erscheint der Cursor als blinkendes 
  140. Beispiele f}r die Eingabeablage:
  141. .byte 
  142. @"This is a string"
  143. .byte 
  144. @$00,$ff,[prog_star-.37,'c','T'
  145. .byte 
  146. @$6543, AboutTex*2/4
  147. Befehl:    
  148. Synonym
  149. @:    rg
  150. Mini:    siehe 
  151. in Kapitel 9.
  152. Zweck:    Register |ffnen.
  153. Anwendung:    
  154. @reg 
  155. Pregname
  156. Hinweis:    
  157. Pregname
  158.   ist der optionale Registername zum \ffen (beachten sie, da~ dem Registernamen 
  159. vorangestellt werden kann):
  160. @a / x / y / sp / pc / st / mm
  161. Wurde kein Register ausgew{hlt, wird das zuletzt ge|ffnete nochmals ge|ffnet.
  162.  kann man alle 6502 Register anzeigen und modifizieren, ebenso das Datenregister (
  163. @$0001
  164. ). \ffnen sie Register mit 
  165. @reg, so 
  166. werden sie in einen wechselwirkenden Modus versetzt, in dem alle Tastatureingaben auf spezielle Art behandelt werden. Im 
  167. @reg-
  168. Modus k|nnen sie in einem Durchgang alle Register ansehen und ggf. {ndern.
  169. Die Ausgabe mit dem 
  170. @reg-
  171. Befehl erfolgt im folgenden Format:
  172. register name    aster    size    data
  173. Reg A        .byte    $00
  174. Reg X        .byte    $FE
  175. Reg Y        .byte    $C4
  176. Reg SP        .word    $01FD
  177. Reg PC        .word    ProgStar
  178. Reg ST        .byte    $02
  179. Reg MM    *    .byte    $30
  180. Pregister name
  181.  ist der Name des Registers.
  182. A    Akkumulator
  183. X    X-Index-Register
  184. Y    Y-Index-Register
  185. SP    Stapelzeiger
  186. Programmz{hler
  187. ST    Statusregister
  188. MM    Datenregister
  189. aster
  190.  ist ein Feld, das ein Asterik am aktiven offenen Register enth{lt.
  191.  ist die Gr|~e eines Datenregisters, entweder Byte oder Word.
  192.  ist das aktuelle Datum im Register. Das Datum im PC-Register wird automatisch in Symbolersatz gewandelt, nicht aber in den anderen Registern, es sei denn sie rufen diese M|glichkeit ausdr}cklich mit der 
  193. Taste auf (siehe unten).
  194. @Open reg-Modus Tastatureingaben
  195. Wenn Daten mit dem 
  196. @reg 
  197. Befehl aufgerufen werden, interpretiert der Super-Debugger die Tastatureingaben und wertet sie in dieser Ebene aus. Wird eine falsche oder nicht erlaubte Tastatureingabe festgestellt, so erscheint der Cursor als 
  198. @a ? 
  199. Symbol. Wenn der Cursor auf dem Asterik des 
  200. aster
  201.  Feldes steht, sind folgende Tastatureingaben erlaubt:
  202. @SPACE
  203.     'deposit mode' eingeben, an dieser Stelle ('siehe deposit Beschreibung unten)
  204. @l I oder J
  205.     aktuelle Anweisung schlie~en und n{chste Anweisung |ffnen.
  206. @SHIFT + l l oder K
  207.     aktuelle Anweisung schlie~en und vorangehende Anweisung |ffnen
  208.     aktuelle Anweisung nochmals |ffnen (n}tzlich beim Lesen einer Hardwarespeicherstelle mit
  209.     wechselnden Werten)
  210. @RETURN
  211.     aktuelle Anweisung schlie~en und zum Bereitschaftszeichen zur}ckkehren
  212.     dezimale Datenanzeige
  213.     hexadezimale Datenanzeige
  214.     oktale Datenanzeige
  215.     bin{re Datenanzeige. Hinweis: Wordwerte werden hexadezimal angezeigt, da bin{re
  216.     lo/hi-Words selten n}tzlich sind.
  217.     Zeichen Datenanzeige
  218.     Symbolform Datenanzeige
  219. @Deposit reg-Modus 
  220. (deposit = }bergeben)
  221. Wenn sie auf dem Asterik Bereitschaftszeichen SPACE dr}cken, wird das Datenfeld gel|scht und der Cursor wird in dieses Feld gesetzt. Jetzt k|nnen sie Daten in dieses Register eingeben. In der Befehlszeile l|scht DEL die Zeichen links vom Cursor und - l|scht die ganze Eingabezeile.
  222. Um eine Zeile einzugeben und den deposit Modus zu verlassen verwenden sie folgenden Tastatureingaben:
  223.     aktuelle Zeile eingeben und aktuelle Anweisung wieder |ffnen.
  224.     (N}tzlich um komplexe Operandenausdr}cke zu }berpr}fen.)
  225. @l l 
  226.     aktuelle Zeile eingeben und n{chstes Register |ffnen
  227. @SHIFT + l l 
  228.     aktuelle Zeile eingeben und vorangehendes Register |ffnen
  229. @RETURN
  230.     aktuelle Zeile eingeben und zum Bereitschaftszeichen zur}ckkehren
  231. Wird in der Eingabezeile ein Fehler festgestellt, so wird die Zeile nicht }bernommen und der Cursor erscheint als blinkendes 
  232. @a ?.
  233. Um den 'deposit-mode' zu verlassen, haben sie eine der folgenden M|glichkeiten:
  234. 1.     Geben sie eine leere Zeile ein oder eine Zeile die nur Spaces enh{lt:
  235. 2.     Benutzen sie DEL, um das 'disassembly/deposit' Feld zu verlassen.
  236. @reg-Modus Deposit Syntax
  237. (deposit = }bergeben)
  238. -Modus ]bergaben haben folgende Syntax:
  239. Wenn das Register Ein-Byte gro~ ist, wird nur das Lo-Byte des Ausdrucks im Register abgelegt. 
  240. Die komplette ]bergeben Eingabe kann bis zu 100 Zeichen lange sein. Wenn sie mehr als 100 einzugeben versuchen, erscheint der Cursor als blinkendes 
  241. Befehl:    
  242. @flag
  243. Abkzg:
  244. Mini:    siehe 
  245. in Kapitel 9
  246. Zweck:    einzelne Flags im Prozessorstatusregister (ST) |ffnen
  247. Anwendung:    
  248. @flag 
  249. ((f.)
  250. Pflagname
  251. Hinweis:    
  252. Pflagname
  253.  ist der optionale Name des Flags das ge|ffnet werden soll (Hinweis: 
  254. kann vor den
  255.     Flagnamen gesetzt werden:
  256. kein Flag ausgew{hlt, so wird das zuletzt ge|ffnete nochmals ge|ffnet.
  257. @flag 
  258. kann man alle Bits des Prozessor-Status-Registers (ST, r.st) anzeigen und modifizieren. \ffnen sie ein Flag mit 
  259. @flag, 
  260. werden sie in einen wechselwirkendenden Modus versetzt, in dem alle Tastatureingaben auf eine spezielle Art und Weise behandelt werden. Im 
  261. @flag-
  262. Modus k|nnen sie jedes Flag (Bit im ST.Register, eingeschlossen das undefinierte Bit 5) im Wechsel einsehen, setzen oder l|schen, welches sie wollen. Die Ausgabe mit dem 
  263. @flag 
  264. Befehl erfolgt im allgemeinen im folgenden Format:
  265. Flag Symbol    FlagName    aster    Data
  266. Flag N    Sign (neg.)        % 1
  267. Flag V    Overflow        % 0
  268. Flag    undefiniert        % 0
  269. Flag B    BRK Flag        % 0
  270. Flag D    Dezimalmodus    % 0
  271. Flag I    IRQ inaktiv        % 0
  272. Flag Z    Zero-Flag        % 1
  273. Flag C    Carry Flag
  274. Flag Symbol
  275.  ist die allgemeine Abk}rzung f}r das Flag. Das undefinierte Bit (Bit 5) hat kein Symbol.
  276. FlagName
  277.  ist eine Kurzbeschreibung des Flags.
  278. aster
  279.  ist ein Feld da~ das aktuell ge|ffneten Flag durch einen Asterik anzeigt.
  280.  zeigt den aktuellen Stand des Bits: gesetzt (1) oder gel|scht (0).
  281. @Open flag-Modus Tastaturbelegung
  282. Wenn ein Datum mit dem 
  283. @flag 
  284. Befehl ge|ffnet wird, interpretiert der Super-Debugger die Tastatureingaben und wertet sie in dieser Ebene aus. Wird eine falsche oder nicht erlaubte Tastatureingabe festgestellt, so erscheint der Cursor als blinkenes 
  285. Symbol. 
  286. @SPACE
  287.     fixiert den Status des Flags
  288.     Flag l|schen, 0 setzen
  289.     Flag setzen, 1 setzen
  290. @ l l oder J
  291.     aktives Flag schlie~en und das n{chste |ffnen
  292. @SHIFT+ l l
  293. oder K
  294.     aktives Flag schlie~en und vorangehendes |ffnen
  295. @RETURN
  296.     aktives Flag schlie~en und zum Bereitschaftszeichen zur}ckkehren    
  297. HAbarbeitungs-Befehle
  298. Befehl:    
  299. Mini:     siehe 
  300. im Kapitel 9
  301. Zweck:    Programm in normaler Geschwindigkeit abarbeiten
  302. Anwendung:    
  303. @go  (
  304. Paddrexp
  305. Hinweis:    
  306. Paddrexp
  307.  ist die Adresse an der mit der Abarbeitung begonnen wird; wird keine Adresse angegeben,
  308.     beginnt
  309. Abarbeitung mit der Stelle auf die der Programmz{hler (PC, r.pc) weist.
  310.  Befehl startet das Programm in normaler Geschwindigkeit. Der GEOS Bildschirm erscheint und ein 
  311. @jmp 
  312. zur richtigen Adresse wird simuliert. Die Kontrolle wird dem Super-Debugger erst wieder }bergeben wenn ein Breakpoint oder eine 
  313. @brk 
  314. Anweisung auftritt oder die RESTORE-Taste gedr}ckt wird.
  315. Beispiel:
  316. @go ProgStart    
  317. beginnt die Abarbeitung bei 
  318. @ProgStart
  319.     beginnt die Abarbeitung beim Programmz{hler
  320. Befehl:    
  321. @runto
  322. Abkzg:    
  323. Mini:     siehe 
  324. im Kapitel 9
  325. Zweck:    abarbeiten bis eine bestimmte Adresse erreicht ist
  326. Anwendung:    
  327. @runto ( 
  328. Paddrexp
  329. Hinweis:    
  330. Paddrexp
  331.   ist die Adresse an der die Abarbeitung stoppt. Wenn
  332. Paddrexp
  333. weggelassen wird, wird der
  334.     aktuelle Wert des Standortz{hlers (
  335. @u.lc) 
  336. benutzt.
  337. @runto
  338.  Befehl automatisiert die allgemeine Debugging Prozedur des Breakpoint Setzens, indem am aktuellen Programm-Standort-Zeiger gestartet wird (
  339. ) und mit der R}ckgabe an den Debugger der Breakpoint gel|scht wird. Wurde keine StoppAdresse gew{hlt, wird der aktuelle Wert des Standortz{hlers (
  340. @u.lc
  341. benutzt. Dadurch k|nnen sie zur zuletzt disassemblierten Speicherstelle zur}ckkehren.
  342. Beispiel:
  343. @runto PrgStart+$1e    
  344. setzt einen Breakpoint bei 
  345. @PrgStart+$1e
  346.  und startet das Programm mit 
  347.  an der
  348.     Speicherstelle auf die der aktuelle Programmz{hler zeigt.
  349. Befehl:    
  350. Abkzg:    
  351. Mini:     siehe 
  352. im Kapitel 9
  353. Zweck:    arbeitet eine Unterroutine ab
  354. Anwendung:    
  355. @jsr (
  356. Paddrexp
  357. Hinweis:    
  358. Paddrexp
  359.   ist die Adresse der Unterroutine die bearbeitet werden soll.
  360. Mit dem 
  361.  Befehl k|nnen sie eine Unterroutine abarbeiten. Der Super-Debugger simuliert einen top-step (siehe 
  362. Befehl), durch eine aktuelle 
  363. @jsr 
  364. Anweisung. Die Routine bei 
  365. Paddrexp
  366.   mu~ mit 
  367.  enden.
  368. Beispiel:
  369. @jsr SetScreen    
  370. l|st ein 
  371. @jsr 
  372. zur Unterroutine 
  373. @SetScreen 
  374. aus. Die Kontrolle wird wieder an den Super-Debugger
  375.     }bergeben, wenn rts aufgerufen wird
  376. Befehl:    
  377. Mini:     siehe 
  378. im Kapitel 9
  379. Zweck:    im Einzelschrittmodus durch Anweisungen und Unterroutinen
  380. Anwendung:    
  381. Pbreakcond
  382. Hinweis:    
  383. Pbreakcond
  384.   ist eine optionale Breakpoint-Bedingung
  385.  Befehl versetzt den Prozessor in den Einzelschrittmodus, in dem immer eine Anweisung abgearbeitet wird. Der 
  386. Befehl, ohne Paramter, arbeitet die aktuelle Anweisung auf die der Programmz{hler (
  387. @PC, r.p) 
  388. zeigt, ab und kehrt zum Super-Debugger zur}ck, gibt die Anweisung am neuen Standort des Programmz{hlers aus. Alle Prozessorregister, Speicherplatz-Standorte usw. zeigen nun die Wirkung der gerade abgearbeiteten Anweisung. Wird im Einzelschrittmodus eine Anweisung nach der anderen agearbeitet (dr}cken sie 
  389. um den Befehl zu wiederholen), so k|nnen sie die Auswirkungen jeder Anweisung }berpr}fen.
  390.  Befehl arbeitet indem die abzuarbeitende Anweisung }berpr}ft wird und feststellt wo die n{chste Anweisung steht; er setzt dann einen tempor{ren Breakpoint an dieser Stelle. In den meisten F{llen ist dies ein einfacher Vorrang, da die n{chste abzuarbeitende Anweisung, die n{chste im Speicher ist. F}r Anweisungen jedoch, die die Kontrolle }bergeben in dem sie den Programmz{hler wieder laden (z.B. 
  391. @jmp, jsr, rts, 
  392. Branches, usw.) mu~ die Adresse der n{chsten Anweisung entsprechend berechnet werden.
  393. @Wichtig
  394. : Sie k|nnen den Einzelschrittmodus nicht im ROM anwenden. Wenn sie es trotzdem probieren, erhalten sie eine Fehlermeldung, da im ROM keine Breakpoints gesetzt werden k|nnen.
  395. @Einzelschrittmodus mit Bedingung
  396. Befehl kann ein 
  397. Pbreakcond
  398.  Parameter angef}gt werden. Da der 
  399. Befehl bei jeder Anweisung einen tempor{ren Breakpoint setzt, wird die Bedingung gepr}ft und der Z{hler nach jeder  Anweisung heruntergez{hlt. Wenn sie einen 
  400. Pbreakcond
  401.  setzen, erscheint folgende Meldung wenn der Super-Debugger arbeitet:
  402. Stepping until condition met ...
  403. Jedesmal wenn sie sich im Einzelschrittmodus durch einen 
  404. @jsr 
  405. Aufruf arbeiten, wird die Adresse die Routine der 'step-through-jsr history' Liste hinzuaddiert. 
  406. Die Liste gibt ihnen die M|glichkeit, die gerade im Einzelschritt aufgerufene Prozedur zu revidieren, wie auch den 
  407. @finish 
  408. Befehl aufzurufen. Siehe auch: 
  409. @t, history 
  410. @ finish.
  411. Wenn sie mit
  412. Pbreakcond
  413. arbeiten und sie treffen auf einen vorher gesetzten Breakpoint, erscheint folgende Meldung:
  414. Software breakpoint encountered ...
  415. continue (y/n) ?
  416. Dr}cken sie 
  417. dann wird der Breakpoint ignoriert, dr}cken sie eine andere Taste um den Breakpoint zu aktivieren, sie arbeiten sich dann nicht durch die Anweisung.
  418. Befehl zeigt den GEOS Bildschirm nur an wenn sie option 5 aktiviert haben.
  419. Beispiele:
  420. @s.10    
  421. in Einzelschritten durch die n{chsten 10 Anweisungen
  422. @s =~f.c    
  423. in Einzelschritten bis das Carry Flag gel|scht ist
  424. @s.20,=(r.a == $50 ^^ @buf_flag) 
  425. in Einzelschritten bis der Wert im Akku gleich $50 ist oder das Byte in der Variablen 
  426. @buf_flag 
  427. 20 mal
  428. nicht Null (wahr) ist.
  429. Befehl:        
  430. Mini:    siehe 
  431. im Kapitel 9
  432. Zweck:    im Einzelschrittmodus durch die Anweisungen und 'top-step' durch Unterroutinen
  433. Anwendung:    
  434. Pbreakcond
  435. Hinweis:    
  436. Pbreakcond
  437.   ist eine optionale Breakpointbedingung.
  438.  Befehl versetzt den Prozessor in den Einzelschrittmodus, arbeitet eine Anweisung nach der anderen ab, bis er auf eine 
  439. @jsr 
  440. Anweisung trifft, die er dann in normaler Geschwindigkeit abarbeitet. Der 
  441.  Befehl ohne Parameter arbeitet die aktuelle Anweisung oder Unterroutine ab auf die der Programmz{hler (PC,r.pc) weist und kehrt zum SuperDebugger zur}ck nachdem die Anweisung ausgegeben wurde auf die der Programmz{hler als n{chste weist. Alle Prozessorregister, Speicherstand usw. zeigen nun das Ergebnis der Anweisung oder Unterroutine an, wie gerade abgearbeitet. 'top-step' ist n}tzlich wenn man GEOS Routinen oder schon debuggte Unterroutinen nicht im Einzelschrittmodus abarbeiten lassen will. Er ist auch n}tzlich wenn man ROM-Routinen aufruft, die nicht im Einzelschrittmodus abgearbeitet werden k|nnen.
  442.  Befehl arbeitet, indem er die abzuarbeitende Anweisung }berpr}ft und feststellt wo die n{chste Anweisung steht; beinhaltet die Anweisung etwas anderes als 
  443. @jsr, 
  444. setzt er einen tempr{ren Breakpoint bei der Speicherstelle wie beim 
  445. Befehl. Ist die Anweisung jedoch 
  446. @jsr 
  447. wird ein Breakpoint bei der Anweisung gesetzt, die der aufgerufenen Unterroutine folgt.
  448. @Wichtig: 
  449. Sie k|nnen den 
  450.  Befehl nicht im ROM verwenden; sie k|nnen jedoch 'top-step' durch jsr im ROM. Versuchen sie den 
  451.  Befehl zu benutzen, wenn sie im ROM sind, erhalten sie einen Fehler, da im ROM keine Breakpoints gesetzt werden k|nnen. Sie sollten auch nicht durch GEOS 'inline' Unterroutinen/GEOS Routinen die mit 
  452. beginnen) 'top-step'. Der 'top-step' setzt das erste Byte der 'inline' Daten auf 
  453. 00 und der Breakpoint wird nicht aufgerufen. Am besten man bearbeitet diese F{lle manuell. Benutzen sie 
  454. @runto 
  455. um einen Breakpoint an der Anweisung zu setzen die den 'inline' Daten folgt und entfernen sie 
  456. @jsr. 
  457. @'Top-stepping' mit Bedingung
  458. Befehl kann auch mit einem 
  459. Pbreakcond
  460.   Paramter versehen werden. Da der 
  461. Befehl bei jeder Anweisung einen tempor{ren Breakpoint setzt, wird die Bedingung }berpr}ft und der Z{hler nach jeder Anweisung herabgez{hlt. Eine Unteroutine, wird in diesem Fall, wie eine Anweisung behandelt. Wenn sie einen 
  462. Pbreakcond
  463.   setzen wird die folgende Meldung ausgegeben:
  464. Stepping until condition met...
  465. @Treffen auf user-definierte Breakpoints
  466. Wird, beim 'top-step' mit breakcond oder beim abarbeiten einer Unterroutine mit dem 
  467. Befehl, ein vorher gesetzter user-definierter Breakpoint erreicht, erscheint die folgende Meldung:
  468. Software breakpoint encountered...
  469. continue (y/n) ?
  470. Dr}cken sie 
  471. um den Breakpoint zu ignorieren oder irgendeine andere Taste um den Breakpoint zu best{tigen und damit die Anweisung nicht abzuarbeiten.
  472. wird der GEOS Bildschirm nicht angezeigt, bis Option 5 aktiviert wird.
  473. Beispiele:
  474. @t.10    
  475. 'top-step' durch 10 Anweisungen/Unterroutineaufrufen
  476. t=f.c    
  477. 'top-step' bis das Carry-Flag gesetzt ist
  478. t=u.1(r.x>=$10)    
  479. benutze den Wert im Userregister 1 (
  480. ) und 'top-step' bis das X-Register gr|~er als oder gleich
  481. 10 ist.
  482. Befehl:    
  483. Mini:     siehe 
  484. im Kapitel 9
  485. Zweck:    abarbeiten bis der Breakpoint erreicht ist
  486. Anwendung:    
  487. Pbreakcond
  488. Hinweis:    
  489. Pbreakcond
  490.  ist eine optionale Breakpointbedingung.
  491.  Befehl beginnt mit der Abarbeitung von Code, mit der Speicherstelle, auf die der Programmz{hler zeigt und arbeitet ihn in normaler Geschwindigkeit ab, bis der Breakpoint erreicht ist. Wenn ein Breakpoint ausgel|st wird, wird die Kontrolle an den SuperDebugger }bergeben; wurde kein 
  492. Pbreakcond 
  493. festgelegt, wird die Anweisung am aktuellen Programmz{hler ausgegeben und die Kontrolle an das Bereitschaftszeichen zur}ckgegeben. Wurde ein 
  494. Pbreakcond
  495.  festgelegt, wird der Ausdruck getestet und der Z{hler herabgez{hlt. Erreicht der Z{hler null und die Bedingung ist wahr, wird der Breakpoint ausgel|st. Andernfalls wird die Anweisung beim Breakpoint abgearbeitet und der 
  496. Befehl arbeitet weiter ab, bis zum n{chsten Breakpoint.
  497. Befehl zeigt den GEOS Bildschirm nicht an, es sei denn die Option 5 ist aktiviert.
  498. Die Anwendung mit einer Bedingung erlaubt ihnen einen Breakpoint an den Beginn einer Routine zu setzen und die Auswertung von Bedingungen abh{ngig zu machen. Auf diese Weise k|nnen sie nur abbrechen, wenn bestimmte Bedingungen vorliegen.
  499. Beispiele:
  500. @p.10    
  501. arbeite ab, bis der Breakpoint zehnmal aufgerufen wurde
  502. @p=f.d    
  503. arbeite ab,     bis ein Breakpoint aufgerufen wird und das Dezimalmodusflag gesetzt ist
  504. @p.8,=(@error_flg > disk_err)
  505. arbeite ab, bis ein Breakpoint aufgerufen wird. Wenn die Variable 
  506. @error_flag 
  507. gr|~er ist als
  508. @disk_err, 
  509. achtmal, dann breche ab.
  510. Befehl:    
  511. @next
  512. Synonym:    
  513. Mini:         siehe 
  514. im Kapitel 9
  515. Zweck:    Breakpoint bei der n{chsten Anweisung setzen (physisch im Speicher) und arbeite mit der aktuellen
  516.     Anweisung
  517. Anwendung:    
  518. @next
  519. Hinweis:    keine Parameter
  520. @next
  521.  Befehl setzt einen Breakpoint an der n{chsten Anweisung im Speicher (die Anweisung die als n{chste zum Abarbeiten ansteht) und arbeitet die aktuelle Anweisung ab. Dieser Befehl ist sehr n}tzlich um eine Schleife zu verlassen. Die meisten Schleifen bestehen aus mehreren Anweisungen, gefolgt von einem R}cksprung. Benutzen sie den 
  522. @next 
  523. Befehl wenn der Programmz{hler auf die Branchanweisung zeigt, so wird ein Breakpoint bei der Anweisung nach dem Branch gesetzt und dann beginnt die Abarbeitung mit der Branchanweisung. Solange der Branch arbeitet und zur}ckspringt, wird die Abarbeitung fortgesetzt. Ist ein Branch fehlerhaft, wird der Breakpoint ausgel|st und die Kontrolle an das Bereitschaftszeichen zur}ckgegeben.
  524. @Wichtig: 
  525. Sie k|nnen den 
  526. @next
  527.  Befehl nicht im ROM benutzen. Tun sie dies trotzdem, erhalten sie eine Fehlermeldung, da im ROM keine Breakpoints gesetzt werden k|nnen.
  528. @next
  529.  Befehl zeigt den GEOS Bildschirm nur wenn sie option 5 aktiviert haben.
  530. Beispiel: Vorgegeben ist folgende Schleife:
  531. 3000 Start    ldx #$FF
  532. 3002 OutrLoop    ldy #$FF
  533. 3004 InnrLoop    dey
  534. 3005 InnrLoop+$01    bne InnrLoop
  535. 3007 InnrLoop+$03    dex
  536. 3008 InnrLoop+$04>    bne OutrLoop
  537. 300A InnrLoop+$06    lda #$00
  538. der Programmz{hler steht am r}ckw{rtsweisenden Branch bei 
  539. @$3008
  540. , benutzen sie jetzt den 
  541. @next
  542.  Befehle so wird bei 
  543. @$300A
  544.  ein Breakpoint gesetzt und die Branch-Anweisung abgearbeitet. Ist das X-Register auf 
  545. @$00 
  546. herabgez{hlt, wird kein Sprung mehr ausgef}hrt und der Breakpoint wird ausgel|st.
  547. Befehl:    
  548. @loop
  549. Synonym:    
  550. Zweck:    arbeitet mit der aktuellen Anweisung und setzt einen Breakpoint an der vorangehenden Anweisung
  551. Anwendung:    
  552. @go (
  553. Pbreakcond
  554. Hinweis:    
  555. Pbreakcond
  556.   ist eine optionale Breakpointbedingung.
  557. @loop
  558.  Befehl setzt einen Breakpoint an der aktuellen Anweisung im Speicher und arbeitet dann mit der aktuellen Anweisung weiter. Der Breakpoint wird gesetzt bevor die aktuelle Anweisung nochmals aufgerufen wird. Die Idee die diesem Befehl zugrunde liegt, ist eine Schleife abzuarbeiten, indem der Prozessor wartet bis er zur aktiven Anweisung zur}ckkehrt. Wird 
  559. @loop
  560.  ohne breakcond benutzt, wird die Schleife einmal abgearbeitet.
  561. @loop
  562.  Befehl kann auch mit einem breakcond versehen werden. Bei jedem Schleifendurchgang (jedesmal wenn der Breakpoint aufgerufen wird), wird die Bedingung ausgewertet und der Z{hler herabgez{hlt. Wird die Bedingung mit wahr ausgewertet und damit der Z{hler null, so wird der Breakpoint ausgel|st.
  563. @Wichtig: 
  564. Sie k|nnen den 
  565. @loop
  566.  Befehl nicht im ROM benutzen. Tun sie dies trotzdem, erhalten sie eine Fehlermeldung, da im ROM keine Breakpoints gesetzt werden k|nnen.
  567. @loop
  568.  Befehl zeigt den GEOS Bildschirm nicht an (es sei denn option 5  ist aktiviert).
  569. Beispiel:
  570. Vorgegeben ist folgende Schleife:
  571. 3000 Start    ldx #$FF
  572. 3002 OutrLoop    ldy #$FF
  573. 3004 InnrLoop     >    dey
  574. 3005 InnrLoop+$01    bne InnrLoop
  575. 3007 InnrLoop+$03    dex
  576. 3008 InnrLoop+$04    bne OutrLoop
  577. 300A InnrLoop+$06    lda #$00
  578. zeigt der Programmz{hler auf 
  579. @dey 
  580. @$3004
  581.  in der Mitte der Schleife, benutzen sie jetzt den 
  582. @loop
  583.  Befehl, so wird bei 
  584. @$3004
  585.  ein Breakpoint gesetzt und die Anweisung abgearbeitet. Angenommen der Stand des X und Y-Registers sind nicht so, da~ die Schleife verlassen wird, dann wird der Breakpoint  im n{chsten Durchgang ausgel|st.
  586. @Hinweis
  587. :    Der 
  588. @loop
  589.  Befeh    l basiert auf der Abarbeitung; sie erhalten falsche Resultate, wenn die Schleife benutzerdefinierte Breakpoints enth{lt, da breakcond bei jedem Breakpoint ausgewertet wird und nicht erst am aktuellen Standort.
  590. Befehl:    
  591. @skip
  592. Zweck:    die aktuellen Anweisungen }berspringen ohne sie abzuarbeiten
  593. Anwendung:    
  594. @skip
  595. Hinweis:    keine Parameter
  596. @skip
  597.  Befehl erh|ht den Programmz{hler, der dann auf die n{chste Anweisung  im Speicher zeigt, dadurch wird die aktuelle Anweisung }bersprungen ohne da~ sie abgeabeitet wird. Der 
  598. @skip
  599.  Befehl ist bei Branch Anweisungen sehr n}tzlich, die ansonsten ausgel|st werden, oder bei 
  600.  Anweisungen im Code.
  601. Befehl:    
  602. @stopmain
  603. Synonym:
  604. Mini:     siehe 
  605. im Kapitel 9
  606. Zweck:    Programm weiter abarbeiten bis zu einem sicheren Punkt in der GEOS-MainLoop, dann R}ckkehr in den
  607.     Super-Debugger
  608. Anwendung:    
  609. @stopmain
  610. Hinweis:    keine Parameter
  611. Wenn sie 
  612. @RESTORE
  613.  benutzen um in den Supper-Debugger zu kommen, ist es manchmal besser wenn sie den 
  614. @stopmain 
  615. Befehl benutzen, besonders dann wenn sich der Prozessor im Interrupt Code befindert. 
  616. @stopmain 
  617. plaziert einen sicheren Breakpoint in der GEOS MainLoop und veranla~t ein go. Zusammenfassend hei~t das, die Applikation }bergibt die Kontrolle sofort an MainLoop, der Breakpoint wird aufgerufen und die Kontrolle an den Debugger }bergeben.
  618. Mehr Informationen }ber die GEOS 
  619. @MainLoop
  620.  finden sie im '
  621. POfficial GEOS Programmer's Reference Guide
  622. @Wichtig
  623. : Wenn sie einen Abbruch in den Debugger mit 
  624. @RESTORE
  625.  ausl|sen, w{hrend Interrupt Code abgearbeitet wird und sie setzen 
  626. @stopmain
  627.  nicht ein, kann ein nachfolgender 
  628. @getb
  629.  oder 
  630. @putb
  631.  die Diskette zerst|ren.
  632. HStackbezogene Befehle
  633. Befehl:    
  634. @stack
  635. Zweck:    zeigt die oberen acht Bytes des Stack an
  636. Anwendung:    
  637. @stack
  638. Hinweis:    keine Parameter
  639. Der Befehl Stack zeigt die oberen acht Bytes des Stack (in der Page 1) im folgenden Format an:
  640. aktueller Stack:
  641. addr    byteword    return address
  642. $01EA    $FF    $04FF    $0500
  643. $01EB    $04    $3004    SetLoop
  644. $01EC    $30    $0630    $0631
  645. $01ED    $06    $6506    $6507                    
  646. $01EE    $65    $7A65    Do_quit
  647. $01EF    $7A    $EE7A    ClrMenu
  648. $01F0    $EE    $43EE    $43EF    
  649. $01F1    $43    $0743    $0744
  650. @stack 
  651. startet am aktuellen Stackzeiger (
  652. @sp, r.sp
  653. ) und liest schrittweise acht Bytes vom Stack. Das 
  654. @addr 
  655. Feld zeigt hexadezimal den Standort im Stackbereich der Page eins. Das 
  656. @byte 
  657. Feld zeigt den Bytewert an diesem Standort; dies ist das Byte das bei einer 
  658. @pla 
  659. Anweisung in den Akku geladen w}rde. Das 
  660. @word 
  661. Feld zeigt den Wordwert an dieser Stelle (Lo/Hi). Das 
  662. @'return address'
  663.  Feld
  664. zeigt die
  665. Adresse mit der nach einem 
  666. @rts 
  667. die Abarbeitung wieder aufgenommen w}rde oder ein 
  668. @return 
  669. Befehl abgearbeitet worden w{re; es ist der Wordwert plus eins, der Super-Debugger versucht ihn als Symbol darzustellen.
  670. Siehe auch: 
  671. @return
  672. Befehl:    
  673. @history
  674. Synonym:
  675. Zweck:    zeigt den 'step-through-jsr' Stack an
  676. Anwendung:    
  677. @history
  678. Hinweis:    keine Parameter
  679. Jedesmal wenn der 
  680.  Einzelschritt Befehl benutzt wird um sich durch einen Unterroutinenaufruf (
  681. ) zu bewegen, wird die Adresse der Routine, die gerade abgearbeitet wurde, auf den Super-Debugger 'step-through-jsr' Stack geschoben. Der 
  682. @history 
  683. Befehl zeigt diesen Stack. Dies gibt ihnen einen ]berblick }ber den Weg durchs Programm bis zum aktuellen Punkt.
  684. Der 'step-through-jsr' Stack wird in Verbindung mit dem Befehl 
  685. @finish 
  686. benutzt. Weitere Informationen finden sie bei 
  687. @finish.
  688. Beispiel:
  689. Nachdem 
  690. @jsr Graphics
  691.  bei 
  692. @$40C
  693.  und 
  694. @jsr $CA69
  695.  bei 
  696. @$C94C
  697.  abgearbeitet wurde, ergibt die Eingabe von history folgende Anzeige:
  698. step through jsr history:
  699. 040C ProgStar+$0C    jsr Graphics
  700. C94C $C94C    jsr $CA69
  701. Siehe auch: 
  702. @finish, s 
  703. @ inithist.
  704. Befehl:    
  705. @inithist
  706. Abkzg:     
  707. @inith 
  708. Zweck:    l|scht die 'step-through-jsr history'
  709. Anwendung:    
  710. @inithist
  711. Hinweis:    keine Paramter
  712. @inithist
  713.  Befehl l|scht die ganze 'step-through-jsr history'. Der history Stack wird jedesmal automatisch gel|scht, wenn folgende Befehle (oder irgendein Makro, da~ auf diesen Befehlen basiert) verwendet werden, 
  714. @go, p, runto 
  715. @ return. 
  716. Der history Stack wird auch gel|scht, wenn ein 
  717. @brk 
  718. Anweisung ausgel|st wird.
  719. Befehl:    
  720. @finish
  721. Abkzg:     
  722. Zweck:    zu Ende abarbeiten (in normaler Geschwindigkeit) die zuletzt im Einzelschrittmodus bearbeiteten
  723.     Unterroutine. Benutzt den 'step-through-jsr' Stack.
  724. Anwendung:    
  725. @finish
  726. Hinweis:    keine Parameter
  727. Jedesmal wenn der 
  728. Einzelschritt Befehl benutzt wird um sich durch einen Unterroutinenaufruf zu arbeiten (
  729. ), wird die Adresse der Routine die gerade abgearbeitet wurde auf den SuperDebugger 'step-through-jsr' Stack geschoben. Der 
  730. @finish 
  731. Befehl beendet ('finishes') die Unterroutine mit deren Bearbeitung zuletzt im Einzelschrittmodus begonnen wurde, 'poppt' dabei das neueste Element auf den 'step-through-jsr' Stack. 
  732. @finish 
  733. Befehl arbeitet, indem er den 'step-through-jsr' Stack }berpr}ft und Breakpoints bei der Anweisung setzt, die die letzte jsr Anweisung setzt. 
  734. @finish 
  735. ist sehr n}tzlich wenn sie versehentlich ein jsr in Einzelschritten abarbeiten und sie glaubten sie seinen im 'top-step', oder wenn sie eine Unterroutine }berpr}fen und sie stellen fest, da~ es nicht die richtige ist und sie wollen zum vorherigen Level zur}ckkehren.
  736. @Wichtig: 
  737. Sie k|nnen 
  738. @finish
  739.  nicht benutzen, wenn sie versucht haben einen Breakpoint im 
  740. @ROM 
  741. zu setzen; sie erhalten dann eine Fehlermeldung, da im ROM keine Breakpoints gesetzt werden k|nnen. Ebenso sollte finish nicht benutzt werden, um einen GEOS Inline Unterroutinenaufruf zu beenden (GEOS Routinen die mit 
  742. beginnen). 
  743. @finish
  744.  setzt das erste Byte der Inlinedaten auf 
  745.  und der Breakpoint wird nie aufgerufen.
  746. @Hinweis: 
  747. Wenn ein Software Breakpoint w{hrend 'top-step' aufgerufen wird und sie w{hlen nicht das Fortsetzen der Anwendungen, wird der 'top-step' Punkt des Eintritts auf den history Stack geschoben. Ein folgender 
  748. @finish 
  749. Befehl setzt den 'top-step' fort, indem er die Anweisung nach dem 'top-stepped'  
  750. @jsr 
  751. zur}ckholt.
  752. @finish
  753.  Befehl zeigt den GEOS Bildschirm nicht an (es sei denn option 5 ist aktiviert).
  754. Beispiel:
  755. Ausgegeben wird folgende 'step-through-jsr history' (angezeigt mit Hilfe des Befehls 
  756. @history
  757. step through jsr history:
  758. 040C ProgStar+$0C    jsr Graphics
  759. C94C $C94C    jsr $CA69
  760. Der Programmz{hler zeigt in die Unteroutine bei 
  761. @$CA69
  762. @finish
  763.  bearbeitet die Anweisung zu Ende und folgt dabei der 
  764. @$CA69
  765.  Anweisung. Ein weiterer 
  766. @finish 
  767. Befehl bearbeitet die Anweisung zu Ende und folgt dabei der 
  768. @jsr Graphics
  769.  Anweisung.
  770. Siehe auch: 
  771. @history, inithist, s 
  772. @ return
  773. Befehl:    
  774. @return
  775. Zweck:    'run' bis Unterroutine zur}ckkehrt
  776. Anwendung:    
  777. @return
  778. Hinweis:    keine Parameter
  779. @return 
  780. @ finish
  781.  Befehl sind in einem Punkt gleich, sie veranlassen, da~ in normaler Geschwindigkeit abgearbeitet wird bis die Unterroutine zu Ende ist. Dann nimmt der 
  782. @return 
  783. Befehl die R}ckadresse vom Stack.
  784. @return
  785.  setzt einen Breakpoint an der Adresse die bei einem 
  786. @rts 
  787. verwendet wird. Er unterstellt, da~ das oberste Word (zwei Bytes) die g}ltige Adresse darstellt. Hat die Unterroutine Werte auf den Stack geschoben, arbeitet 
  788. @return 
  789. nicht richtig.
  790. @Wichtig
  791. : Sie k|nnen den 
  792. @return 
  793. Befehl nicht verwenden wenn er bewirkt, da~ im ROM ein Breakpoint gesetzt wird; sie erhalten eine Fehlermeldung, da im ROM kein Breakpoint gesetzt werden kann. Ebenso sollte der 
  794. @return 
  795. Befehl nicht benutzt werden, um einen GEOS Inline Unterroutinenaufruf zu beenden (GEOS Routinen die mit 
  796. beginnen). 
  797. @return
  798.  setzt das erste Byte der Inlinedaten auf 
  799.  und der Breakpoint wird nie aufgerufen.
  800. Siehe auch: 
  801. @finish
  802.  und 
  803. @stack
  804.